﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Diablo_Character_Simulator.Enumerators;

namespace Diablo_Character_Simulator
{
    class Item
    {
        public ItemSlot Slot { get; private set; }
        public List<ItemStat> Stats { get; private set; }
        public ItemType Type { get; private set; }

        public Item(ItemSlot slot, List<ItemStat> stats, ItemType type)
        {
            this.Slot = slot;
            this.Stats = stats;
            this.Type = type;
        }
    }

    class ItemStat
    {
       public StatType Stat { get; private set; }
       public double Value { get; private set; }

        public ItemStat(StatType stat, double value)
        {
            this.Stat = stat;
            this.Value = value;
        }
    }

    class Weapon : Item
    {
        public WeaponType WeaponType { get; private set; }

        public Weapon(ItemSlot slot, List<ItemStat> stats, WeaponType weapType)
            : base(slot, stats, ItemType.Weapon)
        {
            this.WeaponType = weapType;
        }
    }
}
